<?php
 if ( ! defined('BASEPATH')) exit('No direct script access allowed');
Class Muser extends MY_Model
{
    public function __construct()
    {
        parent::__construct();
    }
    
    public function saveinfoDB()
    {
        $fullname = $this->getParamString('fullname');
        $address = $this->getParamString('address');
        $gender = $this->getParamInt('gender');
        //$job        = $this->getParamString('job');
        $birthday = $this->getParamString('birthday');
        $id = $this->getParamInt('id');
        //$agegroup_id = $this->getParamInt('agegroup_id'); // 1->5
        $job_id = $this->getParamInt('job_id');
        $province_id = $this->getParamString('province_id');
        $district_id = $this->getParamString('district_id');

        $nationality = $this->getParamInt('nationality');
        $language = $this->getParamInt('language') == 0 ? 1:$this->getParamInt('language');
        
        $idGpp = $this->db->query("SELECT * From member WHERE id='$id'");
        if($idGpp->num_rows()==0)return (object) array('status' => 404, 'description' => 'Tài khoản không tồn tại');
        $idGpp=$idGpp->row()->id_copy;
        $url = (string) "http://g-people.ggg.com.vn/saveinfo?user_id=$idGpp&fullname=" . urlencode($fullname) . "&province=$province_id&district=$district_id&job=$job_id&address=" . urlencode($address) . "&birthday=" . urlencode($birthday) . "&gender=$gender" . '&nationality=' . $nationality . '&language=' . $language;
//        $url = (string) "http://125.212.192.115/gpp/saveinfo?user_id=$idGpp&fullname=" . urlencode($fullname) . "&province=$province_id&district=$district_id&job=$job_id&address=" . urlencode($address) . "&birthday=" . urlencode($birthday) . "&gender=$gender" . '&nationality=' . $nationality . '&language=' . $language;
        $apiUpdate = json_decode(file_get_contents($url));
        
        if($apiUpdate->status == 404)return (object) array('status' => 404, 'description' => 'Tài khoản không tồn tại');
        $data = array(
            'fullname' => $fullname,
            // 'job'       => $job,
            'gender' => $gender,
            'address' => $address,
            'dateofbirth' => $birthday,
            //'agegroup_id' => $agegroup_id,
            'job_id' => $job_id,
            'province_id' => $province_id,
            'district_id' => $district_id
        );
        $this->db->update('member', $data, "id = '" . $id . "'");
        return (object) array('status' => 200, 'description' => 'Cập nhật thành công');
    }

    public function loginUserEmail()
    {
       
        $uname = $this->getParamString('username');
        $upass = $this->getParamString('password');
        $pass_encode = md5(md5($uname).md5($upass));
         //Check login ben gpeople
        $url='http://g-people.ggg.com.vn/login?email='.urlencode(strtoupper($uname)).'&passwd='.$upass;
//        $url='http://125.212.192.115/gpp/login?email='.urlencode($uname).'&passwd='.$upass;
//        var_dump($url);die;/
        $apiLogin=json_decode(file_get_contents($url));
//        var_dump($apiLogin);die;
        if($apiLogin->status == 200)
        {
           
            $data=$apiLogin->data;
            $email=$data->email;
            //Kiểm tra bên mình có hay chưa,nếu có rồi thì update,ko có thì insert
            $check=$this->db->query("SELECT * FROM member WHERE email = '$email'");
//            var_dump($check->num_rows());die;
//            var_dump($email);die;
//            var_dump($data);die;
            if($check->num_rows()==0)
            {
               
                //insert vào bảng member
                $arr = array(
                    'email' => $data->email,
                    'username'=>$data->email,
                    'fullname'=>$data->fullname,
                    'mobile' => $data->mobile,
                    'id_copy' => $data->id,
                    'password'=>$pass_encode,
                    'credit' => $data->serial_card,
                    'dateofbirth'=>$data->birthday,
                    'address'=>$data->address,
                    'job_id'=>$data->job,
                    'province_id'=>$data->province,
                    'district_id'=>$data->district,
                    'gender'=>$data->gender,
                );
                $this->db->insert('member', $arr);
                $idGgift=$this->db->insert_id();
            }
            else{ //update
                $arr = array(
                    'email' => $data->email,
                    'username'=>$data->email,
                    'fullname'=>$data->fullname,
                    'mobile' => $data->mobile,
                    'id_copy' => $data->id,
                    'password'=>$pass_encode,
                    'credit' => $data->serial_card,
                    'dateofbirth'=>$data->birthday,
                    'address'=>$data->address,
                    'job_id'=>$data->job,
                    'province_id'=>$data->province,
                    'district_id'=>$data->district,
                    'gender'=>$data->gender
                );
                $idGgift=$check->row()->id;
                $this->db->update('member', $arr, "id = $idGgift");
               
            }  
            $info = $this->getInfoUser($idGgift);
            $info->type_card = $data->type_card;
            $info->nationality = $data->nationality;
            $info->preferred_news_language = $data->preferred_news_language;
            $info->expense = $data->expense;
            $info->rankcard = $data->rankcard;
            $info->id_copy=$data->id;
            return (object)array('status' => 200, 'content' => $info, 'description' => 'Đăng nhập thành công');
        }
        if($apiLogin->status == 201)
        {
            return (object)array('status' => 201, 'description' => 'Thông tin đăng nhập chưa chính xác. Quý khách vui lòng thử lại.');
        }
        if($apiLogin->status == 404)
        {
            return (object)array('status' => 404, 'description' => 'Tài khoản ko tồn tại');
        }
        
        //Đổ ra api
//        $sql = $this->db->query("SELECT * FROM member WHERE username = '".strtolower($uname)."' AND password = '".$pass_encode."' ");
////        if($sql->num_rows() > 0)
////        {
//            $data_           = $sql->row();
//            $data_->password = null;
//            return (object)array('status' => 200, 'description' => 'Đăng nhập thành công');
//            $active = $data_->active;
//            if($active == 0)
//            {
//                return (object)array('status' => 203, 'description' => 'Tài khoản chưa được kích hoạt');
//            }else if($active == 2)
//            {
//                return (object)array('status' => 204, 'description' => 'Tài khoản của bạn đang bị khóa');
//            }else{
//                return (object)array('status' => 200, 'content' => $this->getInfoUser($data_->id), 'description' => 'Đăng nhập thành công');
//            }
//        }else{
//            return (object)array('status' => 201, 'description' => 'Thông tin đăng nhập chưa chính xác. Quý khách vui lòng thử lại.');
//        }
    }
    
//    public function loginUserMobile()
//    {
//        $mobile = $this->getParamString('mobile');
//        $upass = $this->getParamString('password');
//        
//        $sql = $this->db->query("SELECT * FROM member WHERE mobile = '".$mobile."'");
//        if($sql->num_rows() > 0)
//        {
//            $data_           = $sql->row();
//            $pass_encode     = md5(md5($data_->username).md5($upass));
//            
//            if($pass_encode == $data_->password)
//            {
//                $active = $data_->active;
//                if($active == 0)
//                {
//                    return (object)array('status' => 203, 'description' => 'Tài khoản chưa được kích hoạt');
//                }else if($active == 2)
//                {
//                    return (object)array('status' => 204, 'description' => 'Tài khoản của bạn đang bị khóa');
//                }else{
//                    return (object)array('status' => 200, 'content' => $this->getInfoUser($data_->id), 'description' => 'Đăng nhập thành công');
//                }
//            }else{
//                return (object)array('status' => 201, 'description' => 'Thông tin đăng nhập chưa chính xác. Quý khách vui lòng thử lại.');
//            }
//            
//        }else{
//            return (object)array('status' => 205, 'description' => 'Số điện thoại không đúng');
//        }
//    }
    
    public function loginCard()
    {
        $card = $this->getParamString('serial_card');
        $pass = $this->getParamString('passwd');
//        $pass_encode = md5(md5($uname).md5($upass));
        
         //Check login ben gpeople
        $url=(string)'http://g-people.ggg.com.vn/login?serial_card='.$card.'&passwd='.$pass;
//        $url=(string)'http://125.212.192.115/gpp/login?serial_card='.$card.'&passwd='.$pass;
        $apiLogin=json_decode(file_get_contents($url));
        if($apiLogin->status == 200)
        {
            $data=$apiLogin->data;
            $email=$data->email;
            $pass_encode=md5(md5($email).md5($pass));
            //Kiểm tra bên mình có hay chưa,nếu có rồi thì update,ko có thì insert
            $check=$this->db->query("SELECT * FROM member WHERE email = '$email'");
//            var_dump($data);die;
            if($check->num_rows()==0)
            {
                //insert vào bảng member
                $arr = array(
                    'email' => $data->email,
                    'username'=>$data->email,
                    'fullname'=>$data->fullname,
                    'mobile' => $data->mobile,
                    'id_copy' => $data->id,
                    'password'=>$pass_encode,
                    'credit' => $data->serial_card,
                    'dateofbirth'=>$data->birthday,
                    'address'=>$data->address,
                    'job_id'=>$data->job,
                    'province_id'=>$data->province,
                    'district_id'=>$data->district,
                    'gender'=>$data->gender
                );
                $this->db->insert('member', $arr);
                $idGgift=$this->db->insert_id();
            }
            else{
                 $arr = array(
                    'email' => $data->email,
                    'username'=>$data->email,
                    'fullname'=>$data->fullname,
                    'mobile' => $data->mobile,
                    'id_copy' => $data->id,
                    'password'=>$pass_encode,
                    'credit' => $data->serial_card,
                    'dateofbirth'=>$data->birthday,
                    'address'=>$data->address,
                    'job_id'=>$data->job,
                    'province_id'=>$data->province,
                    'district_id'=>$data->district,
                    'gender'=>$data->gender
                );
                $idGgift=$check->row()->id;
                $this->db->update('member', $arr, "id = $idGgift");
            }  
                $info=$this->getInfoUser($idGgift);
                $info->type_card=$data->type_card;
                $info->nationality=$data->nationality;
                $info->preferred_news_language=$data->preferred_news_language;
                $info->expense=$data->expense;
                $info->rankcard=$data->rankcard;
             return (object)array('status' => 200, 'content' => $info, 'description' => 'Đăng nhập thành công');
        }
        if($apiLogin->status == 201)
        {
            return (object)array('status' => 201, 'description' => 'Thông tin đăng nhập chưa chính xác. Quý khách vui lòng thử lại.');
        }
        if($apiLogin->status == 203)
        {
            return (object)array('status' => 203, 'description' => 'Thẻ chưa được kích hoạt');
        }
        if($apiLogin->status == 404)
        {
            return (object)array('status' => 404, 'description' => 'Tài khoản ko tồn tại');
        }
    }
    
    private function     getInfoUser($id)
    {
        $sql = $this->db->query('SELECT id, DATE_FORMAT(dateofbirth, "%d/%m/%Y") AS birthday,mobile,email,address, fullname, gender, job_id, province_id, district_id,credit FROM member WHERE id = '.$id);
        $data = $sql->row_object();
        /* if( !in_array($data->agegroup_id, array('',null)) ){
                $meme = $this->db->query('SELECT name FROM age_groups WHERE id = '.$data->agegroup_id);
                if( $meme->num_rows() == 0){
                    $data->agegroup_name = 'Đang cập nhật';
                }else{
                    $data->agegroup_name = $meme->row()->name;
                    }
            }else{
                 $data->agegroup_name = 'Đang cập nhật';
            } */  
            
          if( !in_array($data->job_id, array('',null)) ){
                $meme = $this->db->query('SELECT name FROM vn_job WHERE id = '.$data->job_id);
                if( $meme->num_rows() == 0){
                    $data->job_name = '';
                }else{
                        $data->job_name = $meme->row()->name;
                        }
            }else{
                 $data->job_name = '';
            }   
		
			if( !in_array($data->province_id, array('',null)) ){
                $meme = $this->db->query('SELECT provinceid,name,type FROM vn_province WHERE provinceid = "'.$data->province_id.'"');
                if( $meme->num_rows() == 0){
                    $data->province_id = '';
					$data->province_name = '';
                }else{
                        $data->province_name = $meme->row()->name;
						$data->province_id = $meme->row()->provinceid;
                        }
            }else{
                 $data->province_id = '';
				 $data->province_name = '';
            }   
			
			if( !in_array($data->district_id, array('',null)) ){
                $meme = $this->db->query('SELECT districtid,name,type FROM vn_district WHERE districtid = "'.$data->district_id.'"');
                if( $meme->num_rows() == 0){
                    $data->district_id = '';
					$data->district_name = '';
                }else{
					$data->district_name = $meme->row()->name;
					$data->district_id = $meme->row()->districtid;
					}
            }else{
                 $data->district_id = '';  $data->district_name = '';
            }  
        return $data;
    }
	
    public function registerUser($baseurl)
    {
        $username   = $this->getParamString('username');
        $pass       = $this->getParamString('password');
        $mobile     = $this->getParamString('mobile');
		$fullname   = $this->getParamString('fullname');
        $address    = $this->getParamString('address');
        $gender     = $this->getParamInt('gender');
		//$agegroup_id = $this->getParamInt('agegroup_id');
        $dateofbirth = $this->getParamString('dateofbirth');
		$job_id = $this->getParamInt('job_id');
        $province_id = $this->getParamInt('province_id');
		$district_id = $this->getParamInt('district_id');
		$nationality = $this->getParamInt('nationality');
        $language = $this->getParamInt('language') == 0 ? 1:$this->getParamInt('language');
		
        $pass_encode = md5(md5($username).md5($pass));
        $code = $this->generateCodeNumber(5); // code active
        if($this->valid_email($username) == 1)
        {
            return (object)array('status' => 100, 'description' => 'Email không hợp lệ');
        }
        
        if( $this->required($username) == 1 || $this->required($pass) == 1 || $this->required($mobile) == 1 || $this->required($fullname) == 1 || $this->required($gender) == 1 || $this->required($dateofbirth) == 1 || $this->required($job_id) == 1 || $this->required($province_id) == 1 || $this->required($district_id) == 1 || $this->required($nationality) == 1 ){
                return (object)array('status' => 202, 'description' => 'Bạn cần điền đầy đủ thông tin');
        }
	
        $checkSendCodeCoupon = $this->checkAmountUser(); // kiểm tra xem user có được tặng voucher hay quà ko :D

        //Check xem bên db khác đăng kí tnao?
        $url='http://g-people.ggg.com.vn/register?email='.urlencode($username).'&mobile='.$mobile.'&fullname='.urlencode($fullname).'&passwd='.$pass.'&gender='.$gender.'&db='.urlencode($dateofbirth).'&province='.$province_id.'&district='.$district_id.'&job='.$job_id.'&nationality='.$nationality.'&language='.$language;
//        $url='http://125.212.192.115/gpp/register?email='.urlencode($username).'&mobile='.$mobile.'&fullname='.urlencode($fullname).'&passwd='.$pass.'&gender='.$gender.'&db='.urlencode($dateofbirth).'&province='.$province_id.'&district='.$district_id.'&job='.$job_id.'&nationality='.$nationality.'&language='.$language;
//        var_dump($url);die;
        $apiUser=json_decode(file_get_contents($url));
//        var_dump($apiUser);die;
        //Nếu không đúng định dạng
        if($apiUser->status == 209)
        {
            return (object)array('status' => 100, 'description' => 'Email không đúng');
        }
        if($apiUser->status == 210)
        {
            return (object)array('status' => 100, 'description' => 'Số điện thoại không đúng');
        }
        if($apiUser->status == 206)
        {
            return (object)array('status' => 206, 'description' => 'Trên 15 tuổi mới được đăng kí');
        }
        //Nếu đã tồn tại bên gpeople bật thông báo luôn 
        if($apiUser->status == 202 || $apiUser->status == 203 || $apiUser->status == 204)
        {
             //Nếu trung update id_copy,ko trùng thì thêm vào ...để bắt trường họp bên ggift rỗng...ảnh hương wcđb..
            $data=$apiUser->data;
            $email=$data->email;
            $check=$this->db->query("SELECT id FROM member WHERE email = '$email'");
            
            //đảm bảo bên ggift luôn phải có cái id để đồng bộ
            if($check->num_rows() == 0)
            {
               $arr=array(  'id_copy'=>$data->id,
                            'mobile'=>$data->mobile,
                            'email'=>$data->email,
                            'fullname'=>$data->fullname
                       );
               $this->db->insert('member', $arr);
               $idGgift=$this->db->insert_id();
            }else
            {
                $checkData = $check->row();
                $idGgift = $checkData->id; //id mình
                $arr = array('id_copy' => $data->id, 'mobile' => $data->mobile); //id bên nó update vào bên mình
                $this->db->update('member', $arr, "id = $idGgift");
            }
            return (object)array('status' => 201, 'description' => 'Thông tin tài khoản đã có trên hệ thống. Vui lòng thử lại hoặc đăng ký lấy lại mật khẩu tại đây.','id'=>$idGgift);
             
             
        }
        //Nếu gpeople ko tồn tại,nếu mình tồn tại thì insert gpeople,ghi đè với bản ghi có email của mình
        if($apiUser->status == 200)
        {
           $check=$this->db->query("SELECT id FROM member WHERE email = '$username'"); 
           $checkData=$check->row();
           $idAdd=$apiUser->data; //data add bên nó
           //Nếu bên mình đã tồn tại email ,update bản ghi trên email đó.
           if($check->num_rows() > 0)
           {
               $idGgift=$checkData->id; //id mình
               $arr=array('id_copy'=>$idAdd,'mobile'=>$mobile);//id bên nó update vào bên mình
               $this->db->update('member', $arr, "id = $idGgift");
               return (object)array('status' => 201, 'description' => 'Thông tin tài khoản đã có trên hệ thống. Vui lòng thử lại hoặc đăng ký lấy lại mật khẩu tại đây.','id'=>$idGgift);
           }
           //Nếu bên mình cũng ko tồn tại thì tạo mới(ko quan tâm trùng sdt bên mình)
           $data = array(
                    'username' => $username,
                    'password' => $pass_encode,
                    'email' => $username,
                    'mobile' => $mobile,
                    'fullname' => $fullname,
                    'gender' => $gender,
                    'address' => $address,
                    'code' => $code,
                    'created' => date('Y-m-d H:i:s'),
                    'active' => 0,
                    'dateofbirth' => $dateofbirth,
                    'job_id' => $job_id,
                    'province_id' => $province_id,
                    'district_id' => $district_id,
                    'id_copy'     => $idAdd, //data add bên nó
                );

                $this->db->insert('member', $data);
                $id_user_insert = $this->db->insert_id();
                $idGgift=$id_user_insert;
                $this->sendActiveCode($code, $username, $fullname, $baseurl);
                if ($checkSendCodeCoupon['coupon'] == 1) // nếu người dùng nhận được mã coupon
                {
                    $_coupon_data = $this->renderEcouponOne();
                    $img_code = 'xxx';
                    $_data = array(
                        'code_coupon' => $_coupon_data->coupon,
                        'img_qrcode' => $img_code,
                        'code_coupon_qrcode' => 'xxx',
                        'active' => 0,
                        'user_create' => $id_user_insert,
                        'created' => date('Y-m-d H:i:s')
                    );
                    $this->db->insert('ecoupon_campaign', $_data);
                    $code_coupon = $_coupon_data->coupon;
                    $this->sendCoupon($_coupon_data->coupon, $username, $fullname); // send email
                } else
                {
                    $code_coupon = '';
                }

                if ($checkSendCodeCoupon['code'] == 1) // Nếu người dùng nhận được quà
                {
                    $code_user = $this->checkCode($this->generateCodeNumber(6));
                    $db_gift = $this->db->query('SELECT id,name FROM vn_gift ORDER BY rand() LIMIT 1');
                    if ($db_gift->num_rows() > 0)
                    {
                        $_data = array(
                            'code_user' => $code_user,
                            'active' => 0,
                            'user_create' => $id_user_insert,
                            'created' => date('Y-m-d H:i:s'),
                            'gift_id' => $db_gift->row()->id
                        );
                        $this->db->insert('code_user', $_data);
                        $this->sendCode($code_user, $username, $fullname, $db_gift->row()->name); // send email
                    } else
                    {
                        $code_user = '';
                    }
                } else
                {
                    $code_user = '';
                }
                return (object) array('status' => 200, 'description' => 'Đăng kí thành công', 'code_coupon' => $code_coupon, 'code_user' => $code_user,'id'=>$idGgift);
        }        
    }
    
    
    
    private function checkAmountUser()
    {
        $data = $this->db->query('SELECT content, action FROM setting WHERE `action` in ("limitcoupon", "limitcode") ORDER BY id DESC')->result_object();
        $arr = array();
        
        foreach($data AS $el=>$le)
        {
            $exp = null;
            $exp = explode(',', $le->content);
            if($le->action == 'limitcoupon')
            {
                $arr['form_coupon'] = $exp[0];
                $arr['to_coupon'] = $exp[1];
            }else  if($le->action == 'limitcode')
            {
                $arr['form_code'] = $exp[0];
                $arr['to_code'] = $exp[1];
            }
        }
        
        $countUser = $this->db->query('SELECT * FROM member')->num_rows(); // 66
        
        $check = array();
        if($countUser < $arr['to_coupon'] && $countUser > $arr['form_coupon'] )
        {
            $check['coupon'] = 1;
        }else{
            $check['coupon'] = 0;
        }
        
        if(($countUser > $arr['form_code']) && ($countUser < $arr['to_code']))
        {
            $check['code'] = 1;
        }else{
            $check['code'] = 0;
        }
        
        return $check;
    }
    
    private function sendCode($code,$username,$fullname,$gift_name)  // NHẬN QUÀ TẶNG
    {
        $data_m = json_decode($this->db->query('SELECT * FROM `options` WHERE tags = "form_email_gift" ')->row()->content);
		$config = array(
						'protocol' => 'smtp',
						'smtp_host' => $this->_smtp_host,
						'smtp_user' => $this->_smtp_user,
						'smtp_pass' => $this->_smtp_pass,
						'mailtype' => 'html'
                    );
        $this->load->library('email',$config);
        $body    = "<img src='http://125.212.192.114/ggift/data/images/other/mail-header-gg.jpg' style='width: 825px;'/><br/><br/><strong>Chào ".$fullname."!</strong> <br /><br /> ".$data_m->header." <br>Mã quà tặng của bạn là: <b>".$code."</b><br />".$data_m->content." <br><br/><br/><img src='http://125.212.192.114/ggift/data/images/other/mail-footer-gg.jpg' style='width: 825px;'/>";
        $this->email->from($this->_smtp_user, 'G-People');
        $this->email->to($username);    
        $this->email->subject('Thông báo quà tặng G-People');
        $this->email->message($body);    
        if($this->email->send()){
        }
    }
    
    private function sendCoupon($code, $username,$fullname)   // NHẬN MÃ VOUCHER
    {
		$data_m = json_decode($this->db->query('SELECT * FROM `options` WHERE tags = "form_email_voucher" ')->row()->content);
        $config = array(
						'protocol' => 'smtp',
						'smtp_host' => $this->_smtp_host,
						'smtp_user' => $this->_smtp_user,
						'smtp_pass' => $this->_smtp_pass,
						'mailtype' => 'html'
                    );
        $this->load->library('email',$config);
        $body    = "<img src='http://125.212.192.114/ggift/data/images/other/mail-header-gg.jpg' style='width: 825px;'/><br/><br/><strong>Chào ".$fullname."!</strong> <br /><br /> ".$data_m->header."<br />Mã voucher quà tặng của bạn là <b>".$code."</b> <br />".$data_m->content."<br/><br/><img src='http://125.212.192.114/ggift/data/images/other/mail-footer-gg.jpg' style='width: 825px;'/>";
        $this->email->from($this->_smtp_user, 'G-People');
        $this->email->to($username);    
        $this->email->subject('Thông báo mã voucher quà tặng G-People');
        $this->email->message($body);    
        if($this->email->send()){
        }
    }
    
	public function sendMailGift($name_gift,$username){
		$config = array(
						'protocol' => 'smtp',
						'smtp_host' => $this->_smtp_host,
						'smtp_user' => $this->_smtp_user,
						'smtp_pass' => $this->_smtp_pass,
						'mailtype' => 'html'
                    );
        $this->load->library('email',$config);
        $body    = "<img src='http://125.212.192.114/ggift/data/images/other/mail-header-gg.jpg' style='width: 825px;'/><br/><br/><strong>Chào ".$username."!</strong> <br /><br /> Chúc mừng ".$username." đã sử dụng ứng dụng G-People. Bạn đã nhận được món quà từ chương trình của chúng tôi là: ".$name_gift." .<br /><br /> Cám ơn bạn !<br/><br/><img src='http://125.212.192.114/ggift/data/images/other/mail-footer-gg.jpg' style='width: 825px;'/>";
        
        $this->email->from($this->_smtp_user, 'G-People');
        $this->email->to($username);    
        $this->email->subject('Thông báo mã voucher quà tặng G-People');
        $this->email->message($body);    
        
        if($this->email->send()){
        }
	}
	
    /* send email active account */
    private function sendActiveCode($code, $username, $fullname,$baseurl)
    {
        $config = array(
						'protocol' => 'smtp',
						'smtp_host' => $this->_smtp_host,
						'smtp_user' => $this->_smtp_user,
						'smtp_pass' => $this->_smtp_pass,
						'mailtype' => 'html'
                    );
      
        $this->load->library('email',$config);
        $body    = "<img src='http://125.212.192.114/ggift/data/images/other/mail-header-gg.jpg' style='width: 825px;'/><br/><br/><b>Chào mừng bạn gia nhập G-People!</b> <br /><br />Để hoàn tất quá trình đăng ký, bạn vui lòng click vào đường link dưới đây để kích hoạt tài khoản: <br /><b><a href='".$baseurl."active-user?username=".$username."&code=".$code."'>".$baseurl."active-user?username=".$username."&code=".$code."</a></b> <br /><br />Chúc bạn sẽ có những trải nghiệm thú vị cùng G-People! <br />Mọi thông tin chi tiết vui lòng liên hệ: <br /><br />- Hotline: 1900 6622 <br />- Facebook: <a target='_blank' href='https://www.facebook.com/GoldenGateRestaurantGroup'>https://www.facebook.com/GoldenGateRestaurantGroup</a> <br />- Website: <a target='_blank' href='http://ggg.com.vn/'>http://ggg.com.vn/</a><br/><br/><img src='http://125.212.192.114/ggift/data/images/other/mail-footer-gg.jpg' style='width: 825px;'/>";
        
        $this->email->from($this->_smtp_user, 'G-People');
        $this->email->to($username);    
        $this->email->subject('Kích hoạt tài khoản G-People');
        $this->email->message($body);    
        
        if($this->email->send()){
        }
    }
    
    public function infoUser($id)
    {
        $sql = $this->db->query('SELECT DATE_FORMAT(dateofbirth, "%d/%m/%Y") AS birthday, mobile, email, address, fullname, gender, job_id, province_id, district_id FROM member WHERE id = '.$id);
        $count = $sql->num_rows();
        $data = $sql->row_object();
		//echo '<pre>';die(print_r($data));
        //
        /*if( !in_array($data->agegroup_id, array('',null)) ){
            $meme = $this->db->query('SELECT name FROM age_groups WHERE id = '.$data->agegroup_id);
            if( $meme->num_rows() == 0){
                $data->agegroup_name = 'Đang cập nhật';
            }else{
                $data->agegroup_name = $meme->row()->name;
            }
        }else{
             $data->agegroup_name = 'Đang cập nhật';
        }*/
        
         if( !in_array($data->job_id, array('',null)) ){
                $meme = $this->db->query('SELECT name FROM vn_job WHERE id = '.$data->job_id);
                if( $meme->num_rows() == 0){
                    $data->job_name = '';
                }else{
                        $data->job_name = $meme->row()->name;
                        }
            }else{
                 $data->job_name = '';
            }   
       // die(print_r($data ));
		
        	if( !in_array($data->province_id, array('',null)) ){
                $meme = $this->db->query('SELECT provinceid,name,type FROM vn_province WHERE provinceid = "'.$data->province_id.'"');
                if( $meme->num_rows() == 0){
                    $data->province_id = '';
					$data->province_name = '';
                }else{
                        $data->province_name = $meme->row()->name;
						$data->province_id = $meme->row()->provinceid;
                        }
            }else{
                 $data->province_id = '';
				 $data->province_name = '';
            }   

			
			if( !in_array($data->district_id, array('',null)) ){
                $meme = $this->db->query('SELECT districtid,name,type FROM vn_district WHERE districtid = "'.$data->district_id.'"');
                if( $meme->num_rows() == 0){
                    $data->district_id = '';
					$data->district_name = '';
                }else{
					$data->district_name = $meme->row()->name;
					$data->district_id = $meme->row()->districtid;
					}
            }else{
                 $data->district_id = '';  $data->district_name = '';
            }  
		   
        if($count == 1)
        {
            return (object)array('status' => 200,'content' =>  $data, 'description' => 'Thông tin tài khoản');    
        }else{
             return (object)array('status' => 404,'content' =>  null, 'description' => 'Tài khoản không tồn tại');
        }
        
    }
    
    public function changePassDB()
    {
        $uname = $this->getParamString('username');
        $upassold = $this->getParamString('passwordold');
        $upassnew = $this->getParamString('passwordnew');
        $passwordcfr = $this->getParamString('password_confirm');
        
        $pass_encode = md5(md5($uname).md5($upassold));
//        var_dump($uname,$upassold,$pass_encode);die;
//        var_dump("SELECT * FROM member WHERE username = '".strtolower($uname)."' AND password = '".$pass_encode."' ");die;
        $sql = $this->db->query("SELECT * FROM member WHERE username = '".strtolower($uname)."' AND password = '".$pass_encode."' ");
        
        if($sql->num_rows() > 0)
        {
            if($upassnew != $passwordcfr)
            {
                return (object)array('status' => 201, 'description' => 'Mật khẩu mới và cũ không trùng nhau');
            }
    
            $pass_en_code = md5(md5($uname).md5($upassnew));
            $data = array(
                'password'  => $pass_en_code
            );  
            $this->db->update('member', $data, "username = '".strtolower($uname)."'");
            //Update bên gpeople
            $idGpp=$this->db->query("SELECT id_copy FROM member WHERE username = '$uname'")->row()->id_copy;	
            $url=(string)"http://g-people.ggg.com.vn/change-pass?user_id=$idGpp&passwd=$upassold&pass_new=$upassnew";
//            $url=(string)"http://125.212.192.115/gpp/change-pass?user_id=$idGpp&passwd=$upassold&pass_new=$upassnew";
//            var_dump($url);die;
            $apiUser=json_decode(file_get_contents($url));    
            return (object)array('status' => 200, 'description' => 'Đổi mật khẩu thành công');
        }else{
            return (object)array('status' => 500, 'description' => 'Tài khoản hoặc mật khẩu không đúng');
        }

    }
    
    /* resend password */
    public function forGotDB()
    {
        $email = $this->getParamString('email');
        $fullname = $this->getParamString('fullname');
        $mobile = $this->getParamString('mobile');
        $birthday = $this->getParamString('birthday');
//        $pass_encode = md5(md5($uname).md5($pass));
        $url=(string)"http://g-people.ggg.com.vn/ajax-forget?fullname=".urlencode($fullname)."&mobile=$mobile&email=".urlencode($email)."&birthday=".  urlencode($birthday);
//        $url=(string)"http://125.212.192.115/gpp/ajax-forget?fullname=".urlencode($fullname)."&mobile=$mobile&email=urlencode($email)&birthday=".  urlencode($birthday);
        $apiReset=json_decode(file_get_contents($url)); 
        if($apiReset == 200)
        {
            return (object)array('status' => 200, 'description' => 'G-People đã nhận được được đề nghị cấp lại mật khẩu của Quý khách, mật khẩu mới sẽ được gửi tới email của Quý khách trong vòng 48 giờ làm việc.');
        }else{
            return (object)array('status' => 201, 'description' => 'Đã xin lại mật khẩu 1 lần, hệ thống đang xử lý');
        }
    }
    
    public function verifyaccountDB()
    {
        $id = $this->getParamInt('id');
        $code = $this->getParamString('code');
        
        $sql = $this->db->query("SELECT * FROM member WHERE code = '".$code."' AND id = ".$id);
        if($sql->num_rows() > 0)
        {
            $data = array(
                'active'  => 1
            );  
            $this->db->update('member', $data, "id = ".$id);
            return (object)array('status' => 200, 'description' => 'Kích hoạt thành công');
        }else{
            return (object)array('status' => 201, 'description' => 'Mã kích hoạt không đúng');
        }
    }
    
//    public function registerFacebookDB()
//    {
//        $username = $this->getParamString('username');
//        $email = $this->getParamString('email');
//        $pass = $this->generateCodeNumber(6);
//        $pass_encode = md5(md5($username).md5($pass));
//        $qr = $this->db->query('SELECT * FROM member WHERE username = "'.strtolower($username).'"');
//        $check = $qr->num_rows();
//        $code = $this->generateCodeNumber(5);
//        $checkSendCodeCoupon = $this->checkAmountUser();
//        if($check == 0)
//        {
//            $data = array(
//                'username'  => $username,
//                'password'  => $pass_encode,
//                'email'     => $username,
//                'fullname'  => $this->getParamString('fullname'),
//                'code'      => $code,
//                'active'    => 1,
//				'created'   => date('Y-m-d H:i:s'),
//                'fbid'      => $this->getParamString('fbid')
//            );
//            $this->db->insert('member', $data);
//			$ID = $this->db->insert_id();
//            
//           if($checkSendCodeCoupon['coupon'] == 1)
//           {
//                $_coupon_data = $this->renderEcouponOne();
//                $img_code = $this->renderQrCode($_coupon_data->coupon_qr, 'qrcode/');
//                $_data = array(
//                            'code_coupon'           => $_coupon_data->coupon,
//                            'img_qrcode'            => $img_code,
//                            'code_coupon_qrcode'    => $_coupon_data->coupon_qr,
//                            'active'                => 0,
//                            'user_create'          => $ID,
//                            'created'               => date('Y-m-d H:i:s')
//                        );
//                
//                $this->db->insert('ecoupon_campaign', $_data);
//                $this->sendCoupon($_coupon_data->coupon, $username,$this->getParamString('fullname'));
//           }
//           if($checkSendCodeCoupon['code'] == 1)
//           {
//                $code_user = $this->checkCode($this->generateCodeNumber(6));
//                $_data = array(
//                            'code_user'             => $code_user,
//                            'active'                => 0,
//                            'user_create'          => $ID,
//                            'created'               => date('Y-m-d H:i:s')
//                        );
//                
//                $this->db->insert('code_user', $_data);
//                $this->sendCode($code_user, $username);
//           }
//            
//            return (object)array('status' => 200, 'content' => $this->getInfoUser($ID), 'description' => 'Đăng nhập thành công', 'code_user' => $code_user);
//        }else{
//			$data_           = $qr->row();
//            return (object)array('status' => 200, 'content' => $this->getInfoUser($data_->id), 'description' => 'Đăng nhập thành công');
//        }   
//    }
    
    private function renderQrCode($data, $path)
    {
        $this->load->library('ciqrcode');
        $time_folder = date('Ym');
        $path_mk = 'data/images/'.$path.$time_folder;
        @mkdir(UPLOAD.'/'.$path_mk, 0777);
        $file = 'images/'.$path.$time_folder.'/'.date('Ymd').'-'.time().'.jpg';
        $params['data'] = $data;
        $params['level'] = 'H';
        $params['size'] = 30;
        $params['savename'] = UPLOAD.'/data/'.$file;
        //die(print_r($params));
        $this->ciqrcode->generate($params);
        return $file;
    }
    
    private function _renderEcoupon($amount)
    {
        return $this->generateCodeNumber($amount);
    }
    
    private function renderEcouponOne()
    {
        $coupon = $this->_renderEcoupon(5);
        $coupon_qr = $this->_renderEcoupon(12);
        return $this->getRenderEcoupon($coupon, $coupon_qr);
    }
    
    private function getRenderEcoupon($ecoupon, $ecoupon_qr)
    {
        $check = $this->db->query('SELECT id FROM ecoupon_campaign WHERE code_coupon = "'.$ecoupon.'" AND code_coupon_qrcode = "'.$ecoupon_qr.'"')->num_rows(); 
        if($check == 1)
        {
            $coupon = $this->_renderEcoupon(5);
            $coupon_qr = $this->_renderEcoupon(12);
            return $this->getRenderEcoupon($ecoupon, $coupon_qr);
        }else{
            return (object)array('coupon' => $ecoupon, 'coupon_qr' => $ecoupon_qr);
        }
    }
    
    public function checkCode($code_post)
    {
        $check = $this->db->query('SELECT id FROM code_user WHERE code_user = "'.$code_post.'"')->num_rows();
        if($check == 1)
        {
            return $this->checkCode($this->generateCodeNumber(6));
        }else{
            return $code_post;
        }
    }
    
    public function getAgeGroup(){
        return $this->db->query('SELECT * FROM age_groups')->result_object();
    }
    
    public function getJob(){
        //Trước khi get kiểm tra 2 bên có đồng bộ ko,ko đồng bộ thì đồng bộ r mới get.
        $url=(string)'http://g-people.ggg.com.vn/joblist';
        $apiJob=json_decode(file_get_contents($url));
//        $apiJobGp=$apiJob->data;
//        var_dump($multiJobGp);die;
        $job=$this->db->query('SELECT * FROM vn_job')->result_object();
        if(count($job)!= count($apiJob->data))
        {
          //Truncate table
          $this->db->query('Truncate table vn_job');
          foreach($apiJob->data as $value)
          {
             
              $array=(array)$value;
              $this->db->insert('vn_job',$array);
          }
        }
//        var_dump($multiJobGg,$multiJobGp);die;
//        foreach ($multiJobGp as $jobGp)
//        {
//            $i=0;
//            foreach ($multiJobGg as $jobGg)
//            {
//                if($jobGp->name == $jobGg->name)
//                {
////                    var_dump($jobGp->name,$jobGg->name);die;
//                    if($jobGg->id_copy != $jobGp->id)
//                    {
//                        
//                        $this->db->update('vn_job',array('id_copy'=>$jobGp->id), array('id' => $jobGg->id));
//                        
//                    } 
//                    $i=1;
//                }
//            }
//            if($i==0)
//            {
//                $this->db->insert('vn_job',array('name'=>$jobGp->name,'id_copy'=>$jobGp->id));
//            }
//        }
        return $this->db->query('SELECT * FROM vn_job')->result_object();
    }
		
	public function activeUser(){
		$username = $this->getParamString('username');
		$code = $this->getParamString('code');
		$db = $this->db->query('SELECT active,code FROM member WHERE username = "'.$username.'" LIMIT 1');
		if( $db->num_rows() == 0 ){
			//return array('data' => '201', 'content' => 'Kích hoạt không thành công, tài khoản không tồn tại');
			header('Content-Type: text/html; charset=utf-8');
					$html ='<!DOCTYPE HTML>
<html>
<head>
	<meta http-equiv="content-type" content="text/html" />
	<meta name="author" content="try.vn" />
	<title>Kích hoạt tài khoản G-People</title>
</head>
<body>
<div style="margin: 0 auto;width: 1000px;height:500px;text-align: center;font-family:Arial;">
    <h1 style="color: #241E1E;">Kích hoạt tài khoản G-People</h1>
    <h3 style="color: #8C5C5C;">Trạng thái : Kích hoạt không thành công, tài khoản không tồn tại</h3>
</div>
</body>
</html>';
return $html;
		}else{
			$code_db = $db->row()->code;
			if ( $code_db == $code ){
				$active_db = $db->row()->active;
				if( $active_db == 0 ){
					$this->db->update('member', array('active' => 1 ), "username = '".$username."'");
					//return array('data' => '200', 'content' => 'Kích hoạt thành công');
					header('Content-Type: text/html; charset=utf-8');
					$html ='<!DOCTYPE HTML>
<html>
<head>
	<meta http-equiv="content-type" content="text/html" />
	<meta name="author" content="try.vn" />
	<title>Kích hoạt tài khoản G-People</title>
</head>
<body>
<div style="margin: 0 auto;width: 1000px;height:500px;text-align: center;font-family:Arial;">
    <h1 style="color: #241E1E;">Kích hoạt tài khoản G-People</h1>
    <h3 style="color: #8C5C5C;" >Tên tài khoản : '.$username.'</h3>
    <h3 style="color: #8C5C5C;">Mã kích hoạt : '.$code_db.'</h3>
    <h3 style="color: #8C5C5C;">Trạng thái : Kích hoạt thành công</h3>
</div>
</body>
</html>';
return $html;
				}else{
					//return array('data' => '202', 'content' => 'Tài khoản đã được kích hoạt');
									header('Content-Type: text/html; charset=utf-8');
									$html ='<!DOCTYPE HTML>
<html>
<head>
	<meta http-equiv="content-type" content="text/html" />
	<meta name="author" content="try.vn" />
	<title>Kích hoạt tài khoản G-People</title>
</head>
<body>
<div style="margin: 0 auto;width: 1000px;height:500px;text-align: center;font-family:Arial;">
    <h1 style="color: #241E1E;">Kích hoạt tài khoản G-People</h1>
    <h3 style="color: #8C5C5C;" >Tên tài khoản : '.$username.'</h3>
    <h3 style="color: #8C5C5C;">Mã kích hoạt : '.$code_db.'</h3>
    <h3 style="color: #8C5C5C;">Trạng thái : Tài khoản đã được kích hoạt</h3>
</div>
</body>
</html>';
return $html;
				}
			}else{
				//return array('data' => '203', 'content' => 'Kích hoạt không thành công, mã kích hoạt không tồn tại');
													header('Content-Type: text/html; charset=utf-8');
													$html ='<!DOCTYPE HTML>
<html>
<head>
	<meta http-equiv="content-type" content="text/html" />
	<meta name="author" content="try.vn" />
	<title>Kích hoạt tài khoản G-People</title>
</head>
<body>
<div style="margin: 0 auto;width: 1000px;height:500px;text-align: center;font-family:Arial;">
    <h1 style="color: #241E1E;">Kích hoạt tài khoản G-People</h1>
    <h3 style="color: #8C5C5C;" >Tên tài khoản : '.$username.'</h3>
    <h3 style="color: #8C5C5C;">Mã kích hoạt : '.$code_db.'</h3>
    <h3 style="color: #8C5C5C;">Trạng thái : Kích hoạt không thành công, mã kích hoạt không tồn tại</h3>
</div>
</body>
</html>';
return $html;
			}
		}
	}
	
	public function testsendmail()
    {
		$data = $this->db->query('SELECT ec.code_coupon, m.username FROM ecoupon_campaign AS ec INNER JOIN member AS m ON m.id = ec.user_create  ')->result_object(); return $data;
		
    }
	
	public function test(){
		//die('111');
		$config = array(
						'protocol' => 'smtp',
						'smtp_host' => 'mail.ggg.com.vn',
						'smtp_user' => 'quynh.ngo@ggg.com.vn',
						'smtp_pass' => 'Quynh123',
						'mailtype' => 'html'
                    );
        $this->load->library('email',$config);
        $body    = "123";
        $this->email->from('quynh.ngo@ggg.com.vn', 'G-People test');
        $this->email->to('dungdcth@gmail.com');    
        $this->email->subject('test Kích hoạt tài khoản G-People');
        $this->email->message($body);    
        if($this->email->send()){
        }
	}
	
//    public function curl_get_contents($url)
//    {
//    $ch = curl_init();
//
//    curl_setopt($ch, CURLOPT_HEADER, 0);
//    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//    curl_setopt($ch, CURLOPT_URL, $url);
//
//    $data = curl_exec($ch);
//    curl_close($ch);
//
//    return $data;
//    }
}
//echo '<table id="tablehs" border="1">';
//for ($i = 0; $i < 3; $i++)
//echo '<tr>';
//echo '<td><input type ="checkbox" value="'.$results[$i]->id.'"></td>';
//echo '<td class ="id">'.$results[$i]->id.'</td>';
//echo '<td class ="hs">'.$results[$i]->hocsinh.'</td>';
//echo '<td class ="gb">'.$results[$i]->giaovien.'</td>';
//echo '</tr>';
//echo  '<button id = "clickSubmit" type="button">Xóa</button>';
//echo '</table>';
